1. Field of the Invention
The present invention relates to an interface which enables data communication for a computer system using a Windows.TM. operating system ("Windows.TM."). More particularly, the present invention relates to an apparatus and method for enabling communication software applications currently sold in the commercial marketplace, to utilize a Telephony Application Programming Interface ("TAPI"), a Windows.TM. Open System Architecture component, in order to support AT command set processing.
2. Background of the Invention
Data communication schemes primarily utilize conventional modems in combination with communication software applications ("communication applications") in order to transfer information between two sources, typically two computer systems. Being an embedded system, the conventional modem commonly features a non-programmable hardware chip set (e.g., a Rockwell chip set) which generally determines its functional aspects.
The procedure for transferring information begins with a user selecting a specific communication operation to occur, such as dialing a phone number or answering a telephone call. These and other communication operations are currently being supported by current communication applications such as ProComm, Crosstalk and the like. In response to the selection, the communication application generates a command, namely an AT command, corresponding to the selected communication operation. The AT command is a character string comprising at least an AT command identifier which identifies a particular operation selected by a user. Examples of such AT command identifiers include, but are not limited to, ATD (i.e., dial the phone), ATA (i.e., answer the phone), ATL (i.e., control speaker volume) and the like. The AT command identifier, forming the initial characters of the AT command, is usually followed by a string of characters used to engage or disengage phone line connections, to induce signal connection delays or to provide various telephony features. The AT command is terminated by any predetermined end-of-line ("EOL") character.
Referring to FIG. 1, a detailed diagram of a conventional prior art communication scheme is illustrated in which specific telephony operations between a computer system 1 and a second source 10 are performed. In order to perform the specific telephony operation between the two sources 1 and 10, the communication application 2 first generates a particular AT command 3, corresponding to the specific operation. The AT command 3 is then inputted into a communication port 4. The communication port 4 is a standard interface between a host 5 and an input/output ("I/O") board 6 (e.g., a modem card, fax card, digital signal processor cards, etc.) to enable communication therebetween. The communication port 4 passes the AT command 3 to a conventional communication task 7 which controls and performs the specific operation required from the I/O board 6.
In general, a "task" is application level code within an operating system for managing hardware by reading information from one device, processing the information and sending the information to another device. Here, the conventional communication task 7 is a combination of software and hardware, generally comprising a non-programmable hardware chip set, which receives the AT command 3 as an input. Based on the nature of the AT command 3, the conventional communication task 7 directly performs the specific operation to be sent over analog public phone lines 9a-9n to accomplish the specific operation.
As illustrated in FIG. 1, the conventional communication scheme is bi-directional, allowing status codes commonly used in the art to be sent from the conventional communication task 7 through the communication port 4 and into the communication application 2, resulting in a subsequent operation being performed or a display message to occur.
Recently, however, in a joint-venture between Intel.TM. Corporation and Microsoft.TM. Corporation, these companies created a Telephony Application Programming Interface (hereinafter referred to as "TAPI"). TAPI is a high level programming interface for Windows.TM. which supports many types of telephony operations associated with conventional analog public phone lines, digital medium such as digital Public Branch Exchange ("PBX") phone lines, ISDN phone lines and eventually wireless medium. As a result, TAPI allows a communication application to support numerous telephony operations through a variety of mediums by simply making a function call to TAPI which will drive the hardware (fax/modem card, DSP card, network to switch and then like) coupled thereto. An article in December's issues of Microsoft Systems Journal describes the operation of TAPI in great detail.
In view of the overwhelming endorsements of TAPI by the telecommunication market, it is quite likely that many communication applications will be created to utilize TAPI. However, no communication scheme has been created, or even contemplated, to enable previously designed communication applications to be compatible with TAPI. Moreover, no communication scheme has been designed to allow DOS-based communication applications to use TAPI because TAPI exclusively operates in Windows.TM..